home *** CD-ROM | disk | FTP | other *** search
- # Source Generated with Decompyle++
- # File: in.pyo (Python 2.4)
-
- import sys
- import unittest
- import StringIO
- import atexit
- from test import test_support
-
- class TestCase(unittest.TestCase):
-
- def test_args(self):
- s = StringIO.StringIO()
- sys.stdout = sys.stderr = s
- save_handlers = atexit._exithandlers
- atexit._exithandlers = []
-
- try:
- atexit.register(self.h1)
- atexit.register(self.h4)
- atexit.register(self.h4, 4, kw = 'abc')
- atexit._run_exitfuncs()
- finally:
- sys.stdout = sys.__stdout__
- sys.stderr = sys.__stderr__
- atexit._exithandlers = save_handlers
-
- self.assertEqual(s.getvalue(), "h4 (4,) {'kw': 'abc'}\nh4 () {}\nh1\n")
-
-
- def test_order(self):
- s = StringIO.StringIO()
- sys.stdout = sys.stderr = s
- save_handlers = atexit._exithandlers
- atexit._exithandlers = []
-
- try:
- atexit.register(self.h1)
- atexit.register(self.h2)
- atexit.register(self.h3)
- atexit._run_exitfuncs()
- finally:
- sys.stdout = sys.__stdout__
- sys.stderr = sys.__stderr__
- atexit._exithandlers = save_handlers
-
- self.assertEqual(s.getvalue(), 'h3\nh2\nh1\n')
-
-
- def test_sys_override(self):
- s = StringIO.StringIO()
- sys.stdout = sys.stderr = s
- save_handlers = atexit._exithandlers
- atexit._exithandlers = []
- exfunc = sys.exitfunc
- sys.exitfunc = self.h1
- reload(atexit)
-
- try:
- atexit.register(self.h2)
- atexit._run_exitfuncs()
- finally:
- sys.stdout = sys.__stdout__
- sys.stderr = sys.__stderr__
- atexit._exithandlers = save_handlers
- sys.exitfunc = exfunc
-
- self.assertEqual(s.getvalue(), 'h2\nh1\n')
-
-
- def test_raise(self):
- s = StringIO.StringIO()
- sys.stdout = sys.stderr = s
- save_handlers = atexit._exithandlers
- atexit._exithandlers = []
-
- try:
- atexit.register(self.raise1)
- atexit.register(self.raise2)
- self.assertRaises(TypeError, atexit._run_exitfuncs)
- finally:
- sys.stdout = sys.__stdout__
- sys.stderr = sys.__stderr__
- atexit._exithandlers = save_handlers
-
-
-
- def h1(self):
- print 'h1'
-
-
- def h2(self):
- print 'h2'
-
-
- def h3(self):
- print 'h3'
-
-
- def h4(self, *args, **kwargs):
- print 'h4', args, kwargs
-
-
- def raise1(self):
- raise TypeError
-
-
- def raise2(self):
- raise SystemError
-
-
-
- def test_main():
- test_support.run_unittest(TestCase)
-
- if __name__ == '__main__':
- test_main()
-
-